package cn.iocoder.yudao.module.infra.controller.admin.face.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 人脸识别配置创建 Request VO
 *
 * @author 芋道源码
 */
@Schema(description = "管理后台 - 人脸识别配置创建 Request VO")
@Data
public class FaceConfigCreateReqVO {

    @Schema(description = "百度AI应用ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    @NotBlank(message = "百度AI应用ID不能为空")
    private String appId;

    @Schema(description = "百度AI API Key", requiredMode = Schema.RequiredMode.REQUIRED, example = "abcdef123456")
    @NotBlank(message = "百度AI API Key不能为空")
    private String apiKey;

    @Schema(description = "百度AI Secret Key", requiredMode = Schema.RequiredMode.REQUIRED, example = "abcdef123456")
    @NotBlank(message = "百度AI Secret Key不能为空")
    private String secretKey;

    @Schema(description = "人脸库分组ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "人脸库分组ID不能为空")
    private Integer groupId;

    @Schema(description = "识别阈值", requiredMode = Schema.RequiredMode.REQUIRED, example = "80.0")
    @NotNull(message = "识别阈值不能为空")
    private Double threshold;

    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    @NotNull(message = "是否启用不能为空")
    private Boolean enabled;

    @Schema(description = "配置名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "默认人脸识别配置")
    @NotBlank(message = "配置名称不能为空")
    private String name;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @Schema(description = "备注", example = "这是一个人脸识别配置")
    private String remark;

}